﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<cstdlib>
#include<iomanip>
using namespace std;
int main()
{
	int n=0;
	int cnt = 0;
	int i = 2;
	cin >> n;
	while (1)
	{
		int flag = 1;
		for (int j = 2; j <=sqrt(i); j++)
		{
			if (i % j == 0)
			{
				flag = 0;
				break;
			}
		}
		if (flag)
		{
			cnt++;
		}
		if (cnt == n)
		{
			break;
		}
		i++;
	}
	cout << i << endl;
	return 0;
}
//int main()
//{
//	int a, b, f;
//	char c;
//	cin >> a >> b >> c >> f;
//	for (int i = 0; i < a; i++)
//	{
//		for (int j = 0; j <b; j++)
//		{
//			if (i == 0||j==0||i==a-1||j==b-1) {
//				cout << c;
//			}
//			else if(f==0)
//			{
//				cout << " ";
//			}
//			else
//			{
//				cout << c;
//			}
//		}
//		cout << endl;
//
//	}
//	return 0;
//}
//int main()
//{
//	int n;
//	cin >> n;
//	for (int i = 0; i < n; i++)
//	{
//		for (int j = 0; j <= i; j++)
//		{
//			cout << "*";
//		}
//		cout << endl;
//	}
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	cin >> n;
//	int i = 1;
//	double e = 1;
//	long long fac = 1.0;
//	while (i<=n)
//	{
//		fac *= i;
//		e += 1.0 / fac;
//		i++;
//	}
//	printf("%.10f\n", e);
//	return 0;
//}
//int main()
//{
//	int n;
//	cin >> n;
//	double e=1;
//	for (int i = 1; i <=n; i++)
//	{
//		int j = 0;
//		long long fac = 1;
//		for ( j = 1; j <=i; j++)
//		{
//			fac *= j;
//		}
//		e += 1.0 / fac;
//	}
//	printf("%.10f", e);
//	return 0;
//}
//int main()
//{
//	int n;
//	int a;
//	cin >> n;
//	while (n--)
//	{
//		cin >> a;
//		int x = 1;
//		int y = 1;
//		int z = 1;
//		while(a > 2) {
//			z = x + y;
//			x = y;
//			y = z;
//			a--;
//		}
//		cout << z << endl;
//	}
//	return 0;
//}
//int main()
//{
//    char arr1[20] = "hello ";
//    char arr2[] = "world";
//    strcat(arr1, arr2);
//    printf("%s\n", arr1);
//    return 0;
//}
//int main()
//{
//    char arr1[] = "abcdef";
//    char arr2[20] = { 0 };
//    strcpy(arr2, arr1);
//    printf("%s\n", arr2);
//    return 0;
//}
//方法三
//单个字符打印，根据字符串⻓度来逐个打印
//strlen可以求出字符串的⻓度，不包含\0
//int main()
//{
//    char a[] = "hello world";
//    int i = 0;
//    for (i = 0; i < strlen(a); i++)
//    {
//        cout << a[i];
//    }
//    cout << endl;
//    return 0;
//}

////方法二
////单个字符的打印，直到\0字符, \0不打印
//int main()
//{
//    char a[] = "hello world";
//    int i = 0;
//    while (a[i] != '\0')
//    {
//        cout << a[i];
//        i++;
//    }
//    cout << endl;
//    return 0;
//}
//int main()
//{
//    char a[] = "hello world";
//    cout << a << endl;
//    printf("%s\n", a);
//    return 0;
//}
//int main()
//{
//    char arr[10] = { 0 };
//    int ch = 0;
//    int i = 0;
//    while ((ch = getchar()) != '\n')
//    {
//        arr[i++] = ch;
//    }
//    printf("%s\n", arr);
//    return 0;
//}
//int main()
//{
//    char arr[10] = { 0 };
//    gets(arr, sizeof(arr), stdin);
//    printf("%s\n", arr);
//    return 0;
//}
//int main()
//{
//    char name[11];
//    scanf("%10s", name);
//    cout << name << endl;
//    return 0;
//}
//int main()
//{
//    char name[11];
//    scanf("%10s", name);
//    cout << name << endl;
//    return 0;
//}
//int main()
//{
//    char arr[20] = { 0 };
//    //输⼊
//    scanf("%s", arr);
//    //输出
//    printf("%s", arr);
//    return 0;
//}
//int main()
//{
//    char arr[20] = { 0 };
//    //输⼊
//    cin >> arr + 1;//arr表⽰数组的起始位置，+ 1意思是跳过⼀个元素，就是第⼆个元素的位置
//    //可以通过调试观察⼀下arr的内容
//    cout << arr + 1;
//    return 0;
//}
//int main()
//{
//    char arr[20] = { 0 };
//    //输⼊
//    cin >> arr + 1;//arr表⽰数组的起始位置，+ 1意思是跳过⼀个元素，就是第⼆个元素的位置
//    //可以通过调试观察⼀下arr的内容
//    cout << arr + 1;
//    return 0;
//}
//int main()
//{
//    char arr[20] = { 0 };
//    //输⼊
//    cin >> arr;
//    //输出
//    cout << arr << endl;
//    return 0;
//}
//int main()
//{
//    char arr[20] = { 0 };
//    //输⼊
//    scanf("%s", arr);
//    //输出
//    printf("%s", arr);
//    return 0;
//}
//int main()
//{
//    char arr[20] = "abcdef";
//    cout << "数组的长度:" << sizeof(arr)/sizeof(arr[0]) << endl;
//    cout << "字符串的长度: " << strlen(arr) << endl;
//    return 0;
//}
//int main()
//{
//	char a[10][10];
//	memset(a, 'a', sizeof(a));//将⼆维字符数组中每个字节都设置为字符a
//	for (int i = 0; i < 10; i++)
//	{
//		for (int j = 0; j < 10; j++)
//		{
//			cout << a[i][j] << " ";
//		}
//		cout << endl;
//	}
//	return 0;
//}
//int main()
//{
//	int a[10][10];
//	memset(a, 0, sizeof(a));
//	//将⼆维整型数组中每个字节都设置为0
//	for (int i = 0; i < 10; i++)
//	{
//		for (int j = 0; j < 10; j++)
//		{
//			cout << a[i][j] << " ";
//		}
//		cout << endl;
//	}
//	return 0;
//}
//int main()
//{
//	int arr[3][5] = { 1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7 };
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 5; j++)
//		{
//			cout << arr[i][j] << " ";
//		}
//		cout << endl;
//	}
//	return 0;
//}
//int main()
//{
//	int arr[3][5] =
//	{ 
//		1,2,3,4,5, 
//		2,3,4,5,6,
//		3,4,5,6,7 };
//	cout << arr[2][4] << endl;
//	return 0;
//}
//int main()
//{
//	int a[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int b[10] = { 0 };
//	memcpy(b, a, 10 * sizeof(int));
//	for (int e : b)
//	{
//		cout << e << " ";
//	}
//	return 0;
//}
//int main()
//{
//	char arr[] = "12345";
//	memset(arr,'a', 4*sizeof(char));
//	for (auto e : arr)
//	{
//		cout << e << " ";
//	}
//	cout << endl;
//	return 0;
//}
//int main()
//{
//	int arr[] = { 1,2,3,4,5 };
//	memset(arr, 100, 4*sizeof(int));
//	for (auto e : arr)
//	{
//		cout << e << " ";
//	}
//	cout << endl;
//	return 0;
//}
//int main()
//{
//	char str[] = "hello world";
//	memset(str, 'x', 6);
//	cout << str << endl;
//	int arr[] = { 1,2,3,4,5 };
//	memset(arr, 0, sizeof(arr));//这里数组的大小也可以⾃⼰计算
//
//		for (auto i : arr)
//		{
//			cout << i << " ";
//		}
//	cout << endl;
//	return 0;
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	for (auto e : arr) //auto能够⾃动推导数组中每个元素的数据类型，在数组范围内遍历打印元素
//	{
//	 cout << e << " ";
//	}
//	return 0;
//}
//int main()
//{
//	auto a = 3.14;
//	auto b = 100;
//	auto c = 'x';
//	return 0;
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	for (int e : arr)
//	{
//		cout << e << " ";
//	}
//	return 0;
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int i = 0;
//	for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
//	{
//		cout << arr[i] << " ";
//	}
//	return 0;
//}
//#include <iostream>
//using namespace std;
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	cout << sizeof(arr) << endl;
//	cout << sizeof(arr) / sizeof(arr[0]) << endl;
//	return 0;
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	cout << arr[7] << endl;
//	cout << arr[3] << endl;
//	return 0;
//}
//int cnt;
//int main()
//{
//	for (int i = 9; i <=2019 ; i++)
//	{
//		int i_k = i;
//		while (i_k)
//		{
//			if (i_k % 10 == 9)
//			{
//				cnt++;
//			}
//			i_k /= 10;
//		}
//	}
//	cout << cnt << endl;
//	return 0;
//}
//int main()
//{
//	for (int i = 1; i < 10; i++)
//	{
//		for (int j = 1; j <= i; j++)
//		{
//			cout << j << "*" << i << "=" <<setw(2) <<i * j << " ";
//		}
//		cout << endl;
//	}
//}
//#include <cstdio>
//int main()
//{
//    for (int i = 1; i < 10; i++)
//    {
//        for (int j = 1; j <= i; j++)
//        {
//            printf("%d*%d=%2d ", j, i, i * j);
//        }
//        printf("\n");
//    }
//    return 0;
//}
//int main()
//{
//    int n = 0;
//    cin >> n;
//    int i = 0;
//    for (i = 2; i < n; i++)
//    {
//        if (n % i == 0)
//        {
//            cout << n / i << endl;
//            break;
//        }
//    }
//    return 0;
//}
//int main()
//{
//	int n,i;
//	cin >> n; 
//	int max=1;
//	for (i = sqrt(n); i <n-1; i++)
//	{
//		if (n % i == 0)
//		{
//			max = i;
//		}
//	}
//	cout << max << endl;
//	return 0;
//}
//int main()
//{
//    int i = 0;
//    for (i = 1; i <= 10; i++)
//    {
//        if (i == 5)
//            continue;
//        cout << i << " ";
//    }
//    return 0;
//}
//int main()
//{
//    int i = 1;
//    while (i <= 10)
//    {
//        if (i == 5)
//            continue;
//        cout << i << " ";
//        i = i + 1;
//    }
//    return 0;
//}
//int main()
//{
//    int i = 1;
//    while (i <= 10)
//    {
//        if (i == 5)
//        {
//            break;         //当i等于5后，就执⾏break,循环就终⽌了
//        }
//        cout << i << " ";
//        i = i + 1;
//    }
//    return 0;
//}

//int main()
//{
//	double h;
//	cin >> h;
//	int n = 9;
//	double sum = h;
//	while (n--)
//	{
//		h =h/ 2.0;
//		sum += h*2;
//	}
//	cout << sum << endl;
//	cout << h/2.0 << endl;
//}